# 字符串格式化输出

# 1. 使用 % 操作符（旧式格式化）
name = "Alice"
age = 25
print("我的名字是 %s，今年 %d 岁。" % (name, age))

# 2. 使用 str.format() 方法（新式格式化）
name = "Bob"
age = 30
print("我的名字是 {}，今年 {} 岁。".format(name, age))
# 通过指定位置参数来格式化字符串：
print("我的名字是 {1}，今年 {0} 岁。".format(age, name))

# 3. 使用 f - 字符串（格式化字符串字面值）
name = "Charlie"
age = 35
print(f"我的名字是 {name}，今年 {age} 岁。")

# 4. 格式化数字
pi = 3.1415926
print(f"圆周率近似值为 {pi:.2f}")

# 字符串找到指定 子字符串 出现的下标的方法
# find() 方法用于查找子字符串在字符串中首次出现的下标，如果未找到则返回 -1。
# 时间复杂度  O(n*m) n 代表主字符串的长度，m代表子字符串的长度
main_str = "Hello, World! Hello, Python!"
sub_str = "Hello"
index = main_str.find(sub_str)
print(f"子字符串 '{sub_str}' 首次出现的下标是: {index}")

# rfind() 方法与 find() 类似，但它是从字符串的右侧开始查找，返回子字符串最后一次出现的下标，若未找到则返回 -1。
main_str = "Hello, World! Hello, Python!"
sub_str = "Hello"
index = main_str.rfind(sub_str)
print(f"子字符串 '{sub_str}' 最后一次出现的下标是: {index}")

